package com.itany.corejava.code12_线程;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月29日 10:36
 */
public class Test05_练习 {
    public static void main(String[] args) {
        // TicketRunnale t=new TicketRunnale();
        // Thread t1=new Thread(t);
        // t1.setName("窗口1");
        // Thread t2=new Thread(t);
        // t2.setName("窗口2");
        // t1.start();
        // t1.setPriority(10);
        // t2.start();

        // 目前出票顺序没有按照顺序依次显示
        // 在程序执行过程中，某个线程抢到了cpu的时间片，但是业务尚未执行完成
        // 被另一个线程抢走了时间片，将会先执行当前线程

        Ticket ticket1=new Ticket();
        Ticket ticket2=new Ticket();
        ticket1.setName("窗口1");
        ticket2.setName("窗口2");
        ticket1.setPriority(10);
        ticket1.start();
        ticket2.start();

    }
}

class TicketRunnale implements Runnable{
    private int num=100;

    @Override
    public void run() {
        while(true){
            if(num==0){
                break;
            }else{
                System.out.println(Thread.currentThread().getName()+"正在售票,当前第"+(num--));
            }
        }
    }
}

class Ticket extends Thread{
    private static  int num=10;
    @Override
    public void run() {
        while(true){
            if(num==0){
                break;
            }else{
                System.out.println(Thread.currentThread().getName()+"正在售票,当前第"+(num--));
            }
        }
    }
}
